1. Field of the Invention
This invention relates to a computer system and elements thereof in which each of the elements of a computer, particularly a CPU (central processing unit) and a memory are altered so as to directly process a data structure suitable for a fuzzy-set representation to enable both a fuzzy-set operation and an operation based on an extension principle for the fuzzy set to be carried out at high speed.
2. Related Art of the Invention
Through development of the application of a fuzzy theory, a fuzzy inference processing has been generally promoted to be implemented using a hardware structure (as disclosed in "Digital Fuzzy Circuit" of Japanese Laid-open Patent Application No. 2-224029). However, just the execution of the fuzzy inference does not fully cover a broad application containing learning of an inference rule and a membership function and a processing of a numerical operation, and thus a more general operation has been required to be processed at high speed.
As an operation (calculation) contained in the processing based on the fuzzy theory have been known as a fuzzy-set operation and an operation based on the extension principle, and it is required to execute these operations at high speed. On the other hand, in order to implement both a high-speed performance and a wide use, there have been proposed a method of combining a CPU and a circuit which is exclusively used for the fuzzy inference, and a method of adding an instruction set of a widely-used CPU with a maximum value operation (Max) and a minimum value operation (Min) (for example, in papers of "Proc. of the international Fuzzy Engineering Symposium 91", pp 387-398).
The fuzzy set operation is a calculation of a fuzzy set in terms of a set. Specifically, grade values for the same element of two fuzzy sets are calculated, for example. Assuming that &lt;s-op&gt; represents a fuzzy set operation of executing an operation &lt;op&gt; for grades, G&lt;s-op&gt;H for G=.SIGMA.gx/x and H=.SIGMA.hy/y(x.tbd.y) is calculated as G&lt;s-op&gt;H=.SIGMA.(gx&lt;op&gt;hx)/x.
If the number of elements is n, the operation is carried out n-times. This kind of operation is frequently used in an algorithm of a fuzzy inference mainly using a Max-Min operation, and the following construction is effectively used. In the fuzzy inference using the Max-Min method, the execution of the inference is basically based on an operation of repetitively carrying out the maximum value operation and the minimum value operation between a fuzzy set given as an input and a fuzzy set constituting a rule in turn. In the system, as shown in FIG. 5, the fuzzy set can be represented by a format in which grade values are aligned in a serial number. The execution of the inference is originated to the successive execution of the maximum value operation and the minimum value operation between the grade values thus represented.
The structure of a conventional memory is shown is FIG. 3. An address buffer 101, a column decoder 102 and a row decoder 103 serve to decode an address given to an address terminal 122, and specify an address in a memory cell array 104. In order to control flow of data, an input data control 111 and an output data control 112 are provided to control data flow between the memory cell array 104 and the data input/output terminal 121 through a sense switch 105. A control unit 115 interprets a control signal which is given to a chip select terminal 123 and a write-enable terminal 124 to control the input data control 111 and the output data control 112. The operation of the control unit is carried out as shown in a table 1.
TABLE 1 ______________________________________ Input Data Output Data CS WE Control Control ______________________________________ H * -- -- L H Disable Enable L L Enable Disable ______________________________________
That is, when the chip select terminal 123 is supplied with "L" and the write-enable terminal 124 is supplied with "H", a read-out mode is set, and the input data control is in a disable state and the output data control is in an enable state. Through this operation, the content of a specific address of the memory cell array 14 is output to a data input/output terminal 121. Further, when the chip select terminal 123 is supplied with "L" and the write-enable terminal 124 is supplied with "L", a write-in mode is set, and the input data control is in an enable state and the output data control is in a disable state, so that the data supplied to the data input/output terminal 121 is stored in the memory cell array 104. The operation is not effectively operated when the chip select terminal 123 is supplied with "H".
The operation flow of the computer thus constructed using the conventional memory will be described with reference to FIG. 4.
In a case of performing the fuzzy set operation, two elements of the fuzzy set are picked up from the memory (1),(2), and these elements are stored into the register of the CPU to execute predetermined operations such as the minimum value operation, the maximum value operation, etc. (3). The operation result is stored into another address (4) to complete one operation.
The minimum value operation and the maximum value operation are not equipped to a general CPU. Therefore, generally, the maximum value operation and the minimum value operation are executed by combining a comparison instruction and a branching instruction. Three instructions are required, including a loading of data to the CPU register. If adding the maximum value operation (MAX) and the minimum value operation (MIN) are added to the instruction set of the CPU to execute the fuzzy operation at high speed, the maximum value operation and the minimum value operation could be carried out with one instruction, and thus the fuzzy logical operation can be executed at high speed.
The above implementation is considered on the basis of the fuzzy inference. However, the fuzzy theory may be applied not only to the fuzzy inference, but also to various fields such as an application to OR, a blending with an expert system, etc. In these fields are contained not only the fuzzy set operation, but also an operation based on the extension principle operation in which the fuzzy set serves as a number. The extension principle operation is defined as follows. Assuming that &lt;e-op&gt; represents the extension principle operation of executing an operation &lt;op&gt; for an element, and G=.SIGMA.gx/x, H=.SIGMA.hy/y, EQU G&lt;e-op&gt;H=.SIGMA.(gx min hy)/(x&lt;op&gt;y).
In the operation based on the extension principle, the element and grade operations are required to be executed for all combinations of the elements of the two fuzzy sets, and the operation amount is increased in second-power order. In the method of adding the maximum value operation and the minimum value operation to the instruction set of the widely-used CPU, the part of the grade operation can be executed at higher speed than an operation by an ordinary CPU.
However, the following problems exist in the conventional construction as described above. That is, in the fuzzy set operation, it is required that the input data be transmitted to a fuzzy set processing unit and the output data be transmitted to the memory, so that a memory access must be executed three times for one fuzzy logical operation. Therefore, even when the instruction of the for maximum value operation and the minimum value operation is added to the CPU, the total processing speed of the computer system is restricted by the data transmission capability between the memory and the CPU.
Further, in the operation based on the extension principle, the following two problems exist, and thus the high-speed effect is not sufficiently attained in the computer system having the construction as described above. One problem resides in that the operation for the elements and the operation for the grades are serially executed by one CPU. No mutual dependence exists between the element operation and the grade operation, and these operations can be originally executed simultaneously with each other.
The other problem resides in data transfer between the memory and the CPU, and the storage of data into the memory. Ordinarily, the representation of the fuzzy set on the computer is made so that the position of data is uniquely specified in accordance with the element. In a case where the grade and the element are represented with separate data, the storage of the operation result is carried out in accordance with the following steps.
An element is specified, and a grade corresponding to the element is read out.
If there exists a corresponding grade,
the maximum value of the read-out grade and a new grade is calculated, and PA1 the read-out grade is renewed to the maximum value. PA1 the element and the grade are newly stored.
If not,
As shown in FIGS. 1 and 2, this operation must be repetitively carried out, and it is required for all combinations of the elements particularly in the operation based on the extension principle, so that a long operation time is required.